<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>自定义遍历数据</title>
  </head>
  <body>
    <script>
      // 声明一个对象
      const banji = {
        name: "一班",
        stus: ["xiaomming", "xiaoning", "xiaotian"],
        // 创建interator接口
        [Symbol.iterator]() {
          // 索引变量
          let index = 0;
          let _this = this;
          return {
            next: function () {
              if (index < _this.stus.length) {
                const result = { value: _this.stus[index], done: false };
                // 下标自增
                index++;
                // 返回结果
                return result;
              } else {
                return {
                  value: undefined,
                  done: true,
                };
              }
            },
          };
        },
      };
      // 使用for...of遍历这个对象每次返回数组中的成员
      for (let v of banji) { // 使用for...of遍历必须要有iterator接口
        console.log(v);
      }
    </script>
  </body>
</html>
